package com.sojson.project.entity.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.sojson.project.entity.po.Coupon;
import com.sojson.project.entity.po.UserCoupon;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 用户优惠券Bean
 * 
 * @author liu
 * @date 2021-03-24
 */
@ApiModel("用户优惠券Bean")
public class UserCouponVo extends UserCoupon {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1616573744466L;

    @ApiModelProperty("优惠券状态(1:未生效(未投放),2:已生效(已投放),3:已暂停(不能领取),4:已冻结(不能领取,不能使用,可解冻),5:已失效(不能解冻))")
    private Integer couponStatus;
    @ApiModelProperty("优惠券信息")
    private Coupon coupon;
    @ApiModelProperty("使用模块编号")
    private String useModuleNo;
    @ApiModelProperty("使用店铺编号")
    private String useStoreNo;
    @ApiModelProperty("使用商品编号")
    private String useGoodsNo;
    @ApiModelProperty("使用商品编号列表")
    private List<String> useGoodsNos;
    @ApiModelProperty("是否可用(true:可用,false:不可用)")
    private Boolean isEnable;
    @ApiModelProperty("是否有效(true:有效,false:无效)")
    private Boolean isValid;
    @ApiModelProperty("订单金额")
    private BigDecimal orderTotal;
    @ApiModelProperty("当前时间")
    private Date thisTime;
    @ApiModelProperty("查询的截止多久时间")
    private Long abortTime;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public UserCouponVo() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取优惠券状态(1:未生效(未投放),2:已生效(已投放),3:已暂停(不能领取),4:已冻结(不能领取,不能使用,可解冻),5:已失效(不能解冻))
     * 
     * @return
     */
    public Integer getCouponStatus() {
        return couponStatus;
    }

    /**
     * 设置优惠券状态(1:未生效(未投放),2:已生效(已投放),3:已暂停(不能领取),4:已冻结(不能领取,不能使用,可解冻),5:已失效(不能解冻))
     * 
     * @param couponStatus
     */
    public void setCouponStatus(Integer couponStatus) {
        this.couponStatus = couponStatus;
    }

    /**
     * 获取优惠券信息
     * 
     * @return
     */
    public Coupon getCoupon() {
        return coupon;
    }

    /**
     * 设置优惠券信息
     * 
     * @param coupon
     */
    public void setCoupon(Coupon coupon) {
        this.coupon = coupon;
    }

    /**
     * 获取使用模块编号
     * 
     * @return
     */
    public String getUseModuleNo() {
        return useModuleNo;
    }

    /**
     * 设置使用模块编号
     * 
     * @param useModuleNo
     */
    public void setUseModuleNo(String useModuleNo) {
        this.useModuleNo = useModuleNo;
    }

    /**
     * 获取使用店铺编号
     * 
     * @return
     */
    public String getUseStoreNo() {
        return useStoreNo;
    }

    /**
     * 设置使用店铺编号
     * 
     * @param useStoreNo
     */
    public void setUseStoreNo(String useStoreNo) {
        this.useStoreNo = useStoreNo;
    }

    /**
     * 获取使用商品编号
     * 
     * @return
     */
    public String getUseGoodsNo() {
        return useGoodsNo;
    }

    /**
     * 设置使用商品编号
     * 
     * @param useGoodNo
     */
    public void setUseGoodsNo(String useGoodsNo) {
        this.useGoodsNo = useGoodsNo;
    }

    /**
     * 获取使用商品编号列表
     * 
     * @return
     */
    public List<String> getUseGoodsNos() {
        return useGoodsNos;
    }

    /**
     * 设置使用商品编号列表
     * 
     * @param useGoodsNos
     */
    public void setUseGoodsNos(List<String> useGoodsNos) {
        this.useGoodsNos = useGoodsNos;
    }

    /**
     * 获取是否可用(true:可用,false:不可用)
     * 
     * @return
     */
    public Boolean getIsEnable() {
        return isEnable;
    }

    /**
     * 设置是否可用(true:可用,false:不可用)
     * 
     * @param isEnable
     */
    public void setIsEnable(Boolean isEnable) {
        this.isEnable = isEnable;
    }

    /**
     * 获取订单金额
     * 
     * @return
     */
    public BigDecimal getOrderTotal() {
        return orderTotal;
    }

    /**
     * 设置订单金额
     * 
     * @param orderTotal
     */
    public void setOrderTotal(BigDecimal orderTotal) {
        this.orderTotal = orderTotal;
    }

    /**
     * 获取当前时间
     * 
     * @return
     */
    public Date getThisTime() {
        return thisTime;
    }

    /**
     * 设置当前时间
     * 
     * @param thisTime
     */
    public void setThisTime(Date thisTime) {
        this.thisTime = thisTime;
    }

    /**
     * 获取查询的截止多久时间
     * 
     * @return
     */
    public Long getAbortTime() {
        return abortTime;
    }

    /**
     * 设置查询的截止多久时间
     * 
     * @param abortTime
     */
    public void setAbortTime(Long abortTime) {
        this.abortTime = abortTime;
    }

}